๐ก ๊ณผ๊ฑฐ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ์ธ "AVA Reboot"์์ ๋ด๋นํ ์์คํ
๋์์ธ์
๋๋ค.
- ๋ค์ค์์ฆ์์์ ๋ง์ง๋ง ํ๋ก์ ํธ์์ ์์ฑํ ์์คํ
๋ด์ฉ์ ์ฌ๊ตฌ์ฑํด ๋ง๋ ๋ฌธ์์
๋๋ค.
- ํฌํธํด๋ฆฌ์ค ์ ๊ณต์ ์ํด ๊ธฐ์กด ๊ธฐํ์์ ๋ฌธ์ ์์ง๊ฐ ๋ ๋งํ ๋ด์ฉ์ ์ผ๊ด ํธ์งํ์ต๋๋ค.
- ์ค์ ๊ฐ๋ฐํ ๋ด์ฉ๋ ๋ชฉํํ ๋ฐ๋ฅผ ์ถฉ๋ถํ ์ํํ์ผ๋ฉฐ, ์์ฑ๋๋ ๋๊ฒ ๋์จ ์์คํ
์
๋๋ค.
- ๊ธฐ๋ฅ ํ์ฅ์ ๊ณ ๋ ค, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๋ค๋ง ๊ตฌ์ฑํ์ต๋๋ค.
์์คํ
์ค๊ณ ์์ฝ
ํต์ฌ ์ค๊ณ ํฌ์ธํธ
- ๋ชจ๋ํ๋ ์ํ์ด์ ์์คํ
- ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ์ฐํ ํ์ฅ์ฑ
- ๋ผ์ดํ์ฌ์ดํด ๊ธฐ๋ฐ ๋ช
ํํ ์ํ ๊ด๋ฆฌ
- ๋ณต์ ์ ์ฉ ๊ฐ๋ฅํ ๊ตฌ์กฐ
- ์๊ฐ์ ํผ๋๋ฐฑ ์ ๊ณต
๊ธฐ๋ ํจ๊ณผ
- PVE ์ ํฌ ๊น์ด ์ฆ๊ฐ
- ์์กด ๋ฉ์ปค๋์ฆ ๋ค์ํ
- ์ ๋ต์ ์ ํ ์ ๊ณต
- ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์
1. ๊ฐ์
PC/ NPC(Pawn)์๊ฒ "์ํ ์ด์"๋ฅผ ์ ์ฉํ ์ ์๋ ์ ๊ท ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
- ์ธ ๊ฒ์ ํต์ฌ ๊ฒฝํ ์ค "์์กด / ํ๋ฐ์ ์ํ PVE ์ ํฌ"๋ฅผ ์ํ ์ฅ์น์ด๋ค.
- ํต์ฌ ๊ฒฝํ์ ์ํ ์ํฌ ๋ "์ํ ์ด์"์ ๋ค์ํ ์ ์ฝ, ๊ธฐ๋ฏน์ผ๋ก ๋์ํ๋ ์ฅ์น๋ก ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
- ๋ค์ํ ์ธ๊ฒ์ ์ฅ์น์์ ์ํ ์ด์๋ฅผ ์ํ๋ ๋์์๊ฒ ์ ์ฉ๋ ์ ์๊ฒ ๊ตฌ์กฐํ ํ๋ค.
- ์ธ๊ฒ์ ์ฅ์น - ๋ ์จ / ์๋ชจ์ฑ ์์ดํ
/ ํํ / ํ์ด / ๋ฌด๊ธฐ ๋ฑ...
- ์ํ ์ด์ ์์คํ
์ ํตํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ์ํน์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
1.1. ์์ดํ
์ฌ์ฉ ์ ์ํ์ด์ ๋ถ์ฌ
- ํน์ ์์ดํ
์ PC๊ฐ ์ฌ์ฉ ์ ํน์ ์คํ
์ดํฐ์ค๋ฅผ [์ฆ๊ฐ / ๊ฐ์] ์ํจ๋ค.
1.2. ๋ ์จ์ ๋ฐ๋ฅธ ์ํ ์ด์ ๋ถ์ฌ
- ์ดํ ๋ง์ผ์คํค์์ ์์คํ
์ ํ์ฅ, ๋ค์ํ ์ธ๊ฒ์ ์ฅ์น์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ ๋ค.
- ํน์ ๋ฌด๊ธฐ๋ฅผ ์ฌ์ฉํด ๋์์๊ฒ ํผํด๋ฅผ ์
ํ ์ ์ํ ์ด์ ๋ถ์ฌ.
- ํน์ ํํ / ํ์ด ๋ฑ์ ์ฌ์ฉํด ๋์์๊ฒ ์ ์ค ์ ์ํ ์ด์ ๋ถ์ฌ.
- ๋ชจ๋ฅ๋ถ ์ฃผ๋ณ์ ์์ ๊ฒฝ์ฐ ์ถ์ ์ํ์ ์ง์ ์๊ฐ์ ๊ฐ์ ์๋๊ฐ ๊ฐ์.
1.3. ๊ฐ๋ฐ ๋ชฉํ
- PC / NPC์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ (์ฆ๊ฐ / ๊ฐ์)ํ ์ ์๊ฒ ๋ง๋ ๋ค.
- ์ํ ์ด์์ด ์ ์ฉ๋์์์ ์ฌ์ฉ์์๊ฒ ์๋ฆด ์ ์๋ HUD UI๋ฅผ ๊ณ ๋ คํ๋ค.
- ์ด๋ค ์ํ ์ด์์ธ์ง / ์ ํจ์๊ฐ์ ์ผ๋ง๋ ๋จ์๋์ง ๋ฑ...์ ์ ๋ณด๋ฅผ ๋
ธ์ถ์ํจ๋ค.
- ์ธ๊ฒ์ ๊ธฐ๋ฅ์ ์ํ ์ด์์ ๋ถ์ฌํ ์ ์๋๋ก ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํ๋ค.
- ์ํ ์ด์ ๊ธฐ๋ฅ์ "๋ง๋ฅ ์ฅ์น"๋ก ๋ง๋ค์ง ์๋๋ค.
- PC์๊ฒ ํน์ ๋ชจ์
์ ์ํ ์ํค๋ ๊ธฐ๋ฅ.
- NPC AI ๋ณ์๋ก ์ฌ์ฉ.
- ์กฐ๊ฑด๋ถ ๋ณ์๋ก ์ฌ์ฉ.
- ํ ์์คํ
์ด ๋๋ฌด ๋ง์ ์ฅ์น๋ก ํ์ฉ๋๋ฉด ๋ง์ ์ ์ฝ์ฌํญ์ด ์๊ธธ ์ ์๋ค.
- ์ด ์ ์ ๊ณ ๋ ค, ์ ๋ ๋ง๋ฅ ์ฅ์น๋ก ๋ง๋ค์ด๋ด์ง ์๋๋ค.
- ์ํ ์ด์์ ๋ค์ํ ๋ณ์๋ค๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ง์ํ๋ฉฐ, ๋ณต์กํ ๊ตฌ์กฐ๋ก ์ธํด ํ
์ด๋ธ ์์
์๊ฐ ์ดํดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์ง ์๋๋ค.
2. ์ํ ์ด์์ด๋?
ํน์ ์ธ๊ฒ์ ์ฅ์น๋ฅผ ํธ๋ฆฌ๊ฑฐ๋ก Pawn์๊ฒ [ํน์ํ ํจ๊ณผ]๋ฅผ ์ ์ฉํ๋ ์ญํ ์ ๊ธฐ๋ฅ์ด๋ค.
- ex 1 - ์์ดํ
์ ์ฌ์ฉ ํ์ ๋ Pawn์ ์ฒด๋ ฅ N ํ๋ณต.
- ex 2 - ํน์ ๊ธฐ์ ์ํ์ ์ค๋ ์์น ๋์์ ๋ Pawn์๊ฒ ๋๋ฒํ ์ ์ฉ.
๋ค์๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ํ ์ด์ ์์คํ
์ ํตํด Pawn์๊ฒ ๋ถ์ฌํ ์ ์๋ค.
- Pawn์ ํน์ ํ๋ผ๋ฏธํฐ๋ฅผ [์ฆ๊ฐ / ๊ฐ์] ์ํจ๋ค.
- Pawn์๊ฒ ํน์ํ ํจ๊ณผ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก [๋ฐ์] ์ํจ๋ค.
- ๋ชจ๋ ์ํ ์ด์์ [์ง์ ์๊ฐ]์ด ์กด์ฌํ๋ฉฐ, ์๊ฐ์ด ๋ง๋ฃ๋ ๊ฒฝ์ฐ Pawn์๊ฒ ์ ๊ฑฐ๋๋ค.
- ์ํ ์ด์์ ๋ณต์ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ๋จ, [๋์ผํ ID]์ ์ํ ์ด์์ ๋ณต์ ์ ์ฉ์ ํ์ฉํ์ง ์๋๋ค.
- ๋์ผํ ID๊ฐ ์ถ๊ฐ ์ ์ฉ ์ ์ง์ ์๊ฐ์ด ๊ฐฑ์ ๋๋ค.
3. ๋ผ์ดํ ์ฌ์ดํด
๋ชจ๋ ์ํ ์ด์์ ์ฒจ๋ถ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ "๋ผ์ดํ ์ฌ์ดํด"์ด ์กด์ฌํ๋ค.
- ๋ผ์ดํ ์ฌ์ดํด์ "์ด 4๊ฐ"์ ์ํ๊ฐ ์กด์ฌํ๋ฉฐ, ๊ฐ ์ํ๋ณ ๋์์ ๋ค์๊ณผ ๊ฐ๋ค.
3.1. Attach
Pawn์๊ฒ ์ํ ์ด์์ด "์ต์ด ์ ์ฉ"๋๋ ์ํ์ด๋ค.
- Attach๋ ์๊ฐ๋ถํฐ ์ํ ์ด์์ ์ ์๋ "ํจ๊ณผ / Duration"์ด ์ ์ฉ๋๋ค.
- Attach๋ฅผ ์ํค๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ์ธ๊ฒ์ ํธ๋ฆฌ๊ฑฐ ์ฅ์น๊ฐ ํ์ํ๋ค.
- ๋ ์จ ์์คํ
- ์์ดํ
์ฌ์ฉ ์์คํ
- Pawn์๊ฒ ์ด๋ฏธ ๋์ผํ ID์ "์ํ ์ด์"์ด ์ ์ฉ๋ ์ํ๋ผ๋ฉด "Duration"์ด ๊ฐฑ์ ๋๋ค.
- ๋์ผํ ID์ ์ํ ์ด์์ "์ค์ฒฉ"์ ํ์ฉํ์ง ์๋๋ค.
3.2. Duration
Pawn์๊ฒ ์ํ ์ด์์ด Attach๋ ์ดํ "์ ์ง๋๋ ์๊ฐ"์ด๋ค.
- ํด๋น ์๊ฐ๋งํผ Pawn์๊ฒ ์ ์ง๋๋ฉฐ, ์๊ฐ์ด ๋ง๋ฃ๋ ๊ฒฝ์ฐ Detach๊ฐ ๋๋ค.
- ์ ์ง์๊ฐ์ ์ํ ์ด์ ๋ณ๋ก ์์ฑ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ [* ๋ฐ์ดํฐ]๋ฅผ ํตํด ์ ์ํ๋ค.
3.3. Period
Pawn์๊ฒ "์ฃผ๊ธฐ์ "์ผ๋ก ํน์ ํจ๊ณผ๋ฅผ ๋ฐ์ ์ํฌ ์ ์๋ ์ํ์ด๋ค.
- ์ฃผ๊ธฐ๋ ์ํ ์ด์ ๋ณ๋ก ์ ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ [* ๋ฐ์ดํฐ]๋ก ์ ์ํ๋ค.
3.4. Detach
Pawn์๊ฒ์ ์ํ์ด์์ด "์ ๊ฑฐ"๋๋ ์ํ์ด๋ค.
- ์ ์๋ Duration ์๊ฐ์ด ๋ง๋ฃ๋ ๊ฒฝ์ฐ ์ ์ฉ๋๋ค.
4. HUD์ ํํ
์ฌ์ฉ์์๊ฒ ์ ์ฉ๋ ์ํ ์ด์์ ์ฒจ๋ถ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด HUD ์์ ์์ด์ฝ์ผ๋ก ์ถ๋ ฅํ๋ค.
- ๋๋ก ์ธํด ๋์(PvP ๋์ PC / NPC)์๊ฒ [์ํ ์ด์]์ ์ ์ฉ ์ํฌ ๊ฒฝ์ฐ์ ํํ.
- ๋ด๊ฒ ์ ์ฉ๋ ์ํ ์ด์์ ํํํ๊ณ ์ด๋ฅผ ์ค๋ช
ํ ์ ์๋ UI ์ฅ์น.
- ์ํ ์ด์์ HUD ํํ์ ๋๊ฐ์ง๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ฉฐ, ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
4.1. ์ํ ์ด์ Attach ์ฐ์ถ
์ฒจ๋ถ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด "PC ์ฃผ๋ณ"์ Attach๋ ์ํ์ด์์ ์์ด์ฝ์ด ๋
ธ์ถ๋๋ค.
- Attach๋๋ ์๊ฐ ๋์ ์ถ๋ ฅ๋๋ฉฐ, ์ฐ์ถ ์๊ฐ์ ๋ชจ๋ ๋์ผํ๋ค.
- ์ํ์ด์์ ์์ด์ฝ์ ๋ชจ๋ [* ๋ฐ์ดํฐ]๋ฅผ ํตํด ๋ฑ๋กํ ์ ์๊ฒ ๊ตฌ์กฐํํ๋ค.
<์์ธ ์ฒ๋ฆฌ - ๋์ผ ์์ ๋ณต์ ์ ์ฉ ์>
๋์ผ ์์ ์ ๋ณต์์ ์ํ ์ด์์ด ์ ์ฉ๋ ๊ฒฝ์ฐ Attach ์ฐ์ถ์ "1์ข
"๋ง ์ถ๋ ฅ๋๋ค.
- ๋๋จธ์ง ํจ๊ณผ๋ค์ ๋ฌด์ํ๋ค.
- ์๋ฅผ ๋ค์ด A / B / C 3์ข
์ ์ํ ์ด์์ด ๋์ ์ ์ฉ๋ ๊ฒฝ์ฐ, A์ Attach ์ฐ์ถ๋ง ์ถ๋ ฅ๋๊ณ ๋๋จธ์ง [B / C]์ ๋ํ ์ฐ์ถ์ ๋ฌด์ํ๋ค.
- ๋๋ฌด ๋ง์ Attach ์ฐ์ถ๋ก ์ธํด HUD๊ฐ ๋ณต์กํด์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์ฒ๋ฆฌ์ด๋ค.
4.2. ์ ์ฉ๋ ์ํ์ด์ ํํ
HUD UI ์ "์ํ์ด์"์ด ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋
ธ์ถ๋ ๋ ๋ค์๊ณผ ๊ฐ์ ์ฌํญ๋ค์ด ๊ฐ์์ ์ผ๋ก ํํ๋์ด ์ฌ์ฉ์์๊ฒ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.
- ์ง์์๊ฐ.
- ํจ๊ณผ๋ฅผ ๊ฐ์ํ ์ํจ ์์ด์ฝ.
- "์ด๋ก์ด / ํด๋ก์ด ํจ๊ณผ"์ ๋ํ ์์ด์ฝ ์ปฌ๋ฌ ์ ๋ณด.
5. StatusEffectTable
"์ํ์ด์"๊ณผ ๊ด๋ จ๋ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ก ์ ์ํ ์ ์๋๋ก [StatusEffectTable.xlsx] ํ์ผ์ ์ถ๊ฐํ๋ค.
- ์์
ํ์ผ ๋ด์ [StatusEffectInfo Sheet]๋ฅผ ์ถ๊ฐ, ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ ์ ์๊ฒ ๊ตฌ์กฐํํ๋ค.
5.1. id
ํ
์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ํ ์ซ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ ID๋ฅผ ์ง์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ int์ด๋ค.
- ๊ฐ์ด ์๊ฑฐ๋, [StatusEffectInfo]์ ์ค๋ณต ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
5.2. code_name
ํ
์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ํ ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ Codename๋ก ์ง์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ string์ด๋ค.
- ๊ฐ์ด ์๊ฑฐ๋, [StatusEffectInfo]์ ์ค๋ณต ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
5.3. icon
์ํ ์ด์์ด ์ ์ฉ๋์์ ๊ฒฝ์ฐ ์ด๋ค ์์ด์ฝ์ผ๋ก ์ธ๊ฒ์ ์์ ์ถ๋ ฅํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ string์ด๋ฉฐ, ์์ด์ฝ ๋ฆฌ์์ค์ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋ค.
- ํด๋น ๊ฐ์ ํตํด [* HUD UI]์ ์ ์ฉ๋ ์ํ์ด์์ ์์ด์ฝ์ผ๋ก ํํํ๋ค.
5.4. duration
์ํ์ด์์ ์ง์์๊ฐ์ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ int์ด๋ฉฐ, ๋จ์๋ sec์ด๋ค.
- ๊ฐ์ด 0์ผ ๊ฒฝ์ฐ ๋ฌด์ ํ ์ง์๋๋ ์ํ์ด์์ผ๋ก ํ๋จํ๋ค.
5.5. period
์ํ ์ด์ ํจ๊ณผ์ [๋ฐ๋ ์ฃผ๊ธฐ]๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ float์ด๋ฉฐ, ๋จ์๋ sec์ด๋ค.
- ๊ฐ์ด 0์ผ ๊ฒฝ์ฐ ๋ฐ๋ ์ฃผ๊ธฐ๊ฐ ์กด์ฌํ์ง ์๋ ์ํ์ด์์ผ๋ก ํ๋จํ๋ค.
5.6. change_parameter
์ํ์ด์์ด ์ง์๋๋ ๋์ Pawn์ ํน์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ ๊ตฌ์กฐ์ฒด์ด๋ฉฐ, ๋ณต์ ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ค.
- ๊ตฌ์กฐ์ฒด์ ๊ตฌ์ฑ ๋ฐ ์ธ์๋ณ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค.
{(ParameterType, ChangeType, Value)}
5.6.1. ParameterType
์ํ ์ด์ ์ ์ฉ์ Pawn์ ์ด๋ค ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ enum์ด๋ฉฐ, ์ ๊ท enumํ์
์ธ [ParameterType]์ ์ฌ์ฉํ๋ค.
- [ParameterType]์ ๊ตฌ์ฑ์ ๋ค์ ํ์ ๊ฐ์ผ๋ฉฐ, ParameterType์ ์ ์๋์ง ์์ ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
| ParameterType |
๋ด์ฉ |
| max_hp |
Pawn์ [์ต๋ ์ฒด๋ ฅ]์ ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ผ๋ฏธํฐ์ด๋ค. |
| max_stamina |
Pawn์ [์ต๋ ์คํ
๋ฏธ๋]๋ฅผ ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ผ๋ฏธํฐ์ด๋ค. |
| max_weight |
Pawn์ [์ต๋ ์ธ๋ฒคํ ๋ฆฌ ์ค๋]์ ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ผ๋ฏธํฐ์ด๋ค. |
| base_speed |
Pawn์ [๊ธฐ๋ณธ ์ด๋ ์๋]์ ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ผ๋ฏธํฐ์ด๋ค. |
๐ฏ Pawn์๊ฒ ๋ค์ํ ํ๋ผ๋ฏธํฐ๋ค์ด ์๊ธฐ๊ฒ ๋ ๊ฒฝ์ฐ ๊ด๋ จ๋ Type์ ์ถ๊ฐ, ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ ์ ์๊ฒ ๊ตฌ์กฐํํ๋ค.
โ ParameterType์ ์ ์๋์ง ์์ ๋ด์ฉ์ ์์ฑํ ์ ์๋ค.
5.6.2. ChangeType
ํ๋ผ๋ฏธํฐ๋ฅผ [์ด๋ป๊ฒ] ์กฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ enum์ด๋ฉฐ, ์ ๊ท enum ํ์
์ธ [ChangeType]์ ์ฌ์ฉํ๋ค.
- [ChangeType]์ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค.
| ChangeType |
์ค๋ช
|
| inc |
์ ๋ ๊ฐ ์ฆ๊ฐ |
| dec |
์ ๋ ๊ฐ ๊ฐ์ |
| percent_inc |
๋น์จ ์ฆ๊ฐ |
| percent_dec |
๋น์จ ๊ฐ์ |
5.6.3. Value
์ง์ ํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ผ๋ง๋ [์ฆ๊ฐ / ๊ฐ์] ์ํฌ์ง ๊ฐ์ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ float์ด๋ค.
5.6.4. ๋ฐ์ดํฐ ๋์ ์์
{(max_hp, inc, 500)}
change_parameter ์ปฌ๋ผ ๊ฐ์ด ์์ ๊ฐ์ด ์์ฑ๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํ์ ๋ฐ์ดํฐ ๋์์ ์์๋ฅผ ์ค๋ช
ํ๋ค.
- ํด๋น ์ํ์ด์์ด ์ ์ฉ๋ Pawn์ "์ต๋ ์ฒด๋ ฅ์ด 500 ์ฆ๊ฐ"ํ๋ค.
- ์ํ์ด์์ ์ง์์๊ฐ์ด ๋ง๋ฃ๋๋ฉด ์ต๋ ์ฒด๋ ฅ์ด ๋ณธ๋ ๊ฐ์ผ๋ก ๋์๊ฐ๋ค.
{(max_hp, percent_inc, 0.5)}
- ํด๋น ์ํ์ด์์ด ์ ์ฉ๋ Pawn์ ํ์ฌ ์ฒด๋ ฅ์์ 50%๊ฐ ์ถ๊ฐ ์ฆ๊ฐ๋๋ค.
- pawn์ ์ฒด๋ ฅ์ด 10,000์ธ ๊ฒ์ ๊ฐ์ ํ์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- 10,000์ 50%์ธ 5,000์ด ์ฆ๊ฐํ๋ค.
- ์ํ์ด์์ ์ง์์๊ฐ์ด ๋ง๋ฃ๋๋ฉด ์ต๋ ์ฒด๋ ฅ์ด ๋ณธ๋ ๊ฐ์ผ๋ก ๋์๊ฐ๋ค.
์์ธ ์ฒ๋ฆฌ
"percent_inc / percent_dec"๊ณ์ฐ ์ ๊ฒฐ๊ณผ๊ฐ ์์์ด๋ฉด ์์์ ์ดํ๋ ๋ฒ๋ฆผ์ฒ๋ฆฌํ๋ค.
- PeriodEffect๋ก ์ธํด HP๊ฐ 100.9๊ฐ ์ฆ๊ฐ๋ ๊ฒฝ์ฐ ๋ฒ๋ฆผ ์ฒ๋ฆฌ๋์ด 100์ด ์ฆ๊ฐ๋๋ค.
5.6.5. ๋ณต์ ์ ์ฉ ์์
์ฒจ๋ถ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ๊ธฐ ๋ค๋ฅธ ์ํ ์ด์์ด ๋์ผํ [ParameterType]์ผ๋ก Pawn์๊ฒ ์ ์ฉ๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํด ์์๋ฅผ ์ค๋ช
ํ๋ค.
- ParameterType๋ณ๋ก ์ผ๊ด ๊ณ์ฐํด, Pawn์ ์ํ์ด์ ๊ฒฐ๊ณผ ์์น ๊ฐ์ ๋์ถํ๋ค.
๊ณ์ฐ์ = (๊ธฐ๋ณธ ๊ฐ + inc - dec) * ((percent_inc / 100) - (percent_dec / 100) + 1)
- Pawn์๊ฒ ์ ์ฉ๋ ์ํ์ด์ 1์ข
์ด ๋ง๋ฃ๋ ๊ฒฝ์ฐ ๊ณ์ฐ์ด ๋ค์ ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ฒฐ๊ณผ ๊ฐ์ ๋ํ ์
๋ฐ์ดํธ๊ฐ ์ฆ์ ์ด๋ฃจ์ด์ง ์ ์๊ฒ ๋ง๋ ๋ค.
5.7. period_effect
์ํ ์ด์์ [* ์ฃผ๊ธฐ]๋ง๋ค Pawn์๊ฒ ์ด๋ค ํจ๊ณผ๋ฅผ ๋ฐ๋ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ ๊ตฌ์กฐ์ฒด์ด๋ฉฐ, ๋ณต์ ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ค.
- ๊ตฌ์กฐ์ฒด์ ๊ตฌ์ฑ ๋ฐ ์ธ์๋ณ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค.
{(PeriodEffectType, ChangeType, Value)}
5.7.1. PeriodEffectType
์ฃผ๊ธฐ๊ฐ ๋ฐ๋๋ ๋ "์ด๋ค ํจ๊ณผ"๋ฅผ ์ ์ฉํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ enum์ด๋ฉฐ, ์ ๊ท enumํ์
์ธ "PeriodEffectType"์ ์ฌ์ฉํ๋ค.
- PeriodEffectType์ ๊ตฌ์ฑ์ ์๋ ํ์ ๊ฐ๋ค.
| PeriodEffectType |
์ค๋ช
|
| hp |
Pawn์ [ํ์ฌ hp]๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ Type์ด๋ค |
| stamina |
PC์ [ํ์ฌ stamina]๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ Type์ด๋ค. |
| life_time_modifier |
PC์ [ํ์ฌ ๋จ์ lifetime]์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ฆ๊ฐ / ๊ฐ์ ์์ผ์ฃผ๋ ์ญํ ์ Type์ด๋ค. |
๐ฏ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ๋์ด์ผ ํ Pawn์ ์์น๊ฐ ์ถ๊ฐ๋๋ค๋ฉด ํด๋น Type์ ์ถ๊ฐํด ์ ์ฉํ ์ ์๊ฒ ๊ตฌ์กฐํํ๋ค.
โ PeriodEffectType์ ์ ์๋์ง ์์ ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
5.7.2. ChangeType
PeriodEffectType์ [์ด๋ป๊ฒ] ์กฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ enum์ด๋ฉฐ, ์ ๊ท enum ํ์
์ธ [ChangeType]์ ์ฌ์ฉํ๋ค.
- ChangeType์ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค.
| ChangeType |
์ค๋ช
|
| inc |
์ ๋ ๊ฐ ์ฆ๊ฐ |
| dec |
์ ๋ ๊ฐ ๊ฐ์ |
| percent_inc |
๋น์จ ์ฆ๊ฐ |
| percent_dec |
๋น์จ ๊ฐ์ |
5.7.3. Value
PeriodEffectType์ ์ผ๋ง๋ ์ฆ๊ฐ / ๊ฐ์ ์ํฌ์ง "๊ฐ"์ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ธ์๋ค.
- ๋ฐ์ดํฐ ํ์์ float์ด๋ค.
5.7.4. ๋ฐ์ดํฐ ์ ์ฉ ์์
{(hp, dec, 50)}
PeriodEffect๊ฐ ์์ ๊ฐ์ด ์์ฑ๋์ด ์๊ณ "LifeTime์ด 1๋ถ / Period๊ฐ 2์ด"๋ก ์ ์ฉ๋ ๊ฒฝ์ฐ ํด๋น ๋ฐ์ดํฐ๋ ์ธ๊ฒ์ ์์์ ๋ค์๊ณผ ๋์ํ๋ค.
- ๋์ ์์ - 1๋ถ๋์ Pawn์ hp๊ฐ 2์ด๋น 50์ฉ ๊ฐ์ํ๋ค.
{(hp, inc, 50)}
"LifeTime์ด 1๋ถ / Period๊ฐ 1์ด"์ผ ๊ฒฝ์ฐ
- ๋์ ์์ - 1๋ถ๋์ Pawn์ hp๊ฐ 1์ด๋น 50์ฉ ํ๋ณตํ๋ค.
{(stemina, percent_inc, 0.2)}
"LifeTime์ด 1๋ถ / Period๊ฐ 10์ด"์ผ ๊ฒฝ์ฐ.
- ๋์ ์์ - 1๋ถ๋์ Pawn์ stemina๊ฐ 10์ด๋น 20%์ฉ ํ๋ณตํ๋ค.
{(stemina, percent_dec, 0.1)}
"LifeTime์ด 1๋ถ / Period๊ฐ 10์ด"์ผ ๊ฒฝ์ฐ.
- ๋์ ์์ - 1๋ถ๋์ Pawn์ stemina๊ฐ 10์ด๋น 10%์ฉ ๊ฐ์ํ๋ค.
์์ธ ์ฒ๋ฆฌ
"percent_inc / percent_dec"๊ณ์ฐ ์ ๊ฒฐ๊ณผ๊ฐ ์์์ด๋ฉด ์์์ ์ดํ๋ ๋ฒ๋ฆผ์ฒ๋ฆฌํ๋ค.
- PeriodEffect๋ก ์ธํด HP๊ฐ 100.9๊ฐ ์ฆ๊ฐ๋ ๊ฒฝ์ฐ ๋ฒ๋ฆผ ์ฒ๋ฆฌ๋์ด 100์ด ์ฆ๊ฐ๋๋ค.
5.7.5. ๋ณต์ ์ ์ฉ ์์
์ฒจ๋ถ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด "์ํ ์ด์ A ~ C"๊ฐ ๋์ ์ ์ฉ๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํ์ ์์๋ฅผ ์ค๋ช
ํ๋ค.
- ์ฃผ๊ธฐ ํจ๊ณผ๋ ์ํ ์ด์ ๋ณ๋ก ๊ณ์ฐ๋๋ฉฐ, ์ฃผ๊ธฐ ํจ๊ณผ๊ฐ ์ ์ฉ๋๋ ๊ธฐ๋ ๊ฒฐ๊ณผ๋ ์ฒจ๋ถ๋ ํ์๋ผ์ธ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
5.8. detach_groggy
PC๊ฐ ๊ทธ๋ก๊ธฐ ์ํ๊ฐ ๋์์ ๋ ์ ์ฉ๋ ์ํ ์ด์์ ํด์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ปฌ๋ผ์ด๋ค.
- ๋ฐ์ดํฐ ํ์์ boolean์ด๋ฉฐ, ๊ฐ ๊ฐ์ ๋ฐ๋ฅธ ๋์์ ๋ค์๊ณผ ๊ฐ๋ค.
- TRUE - PC๊ฐ ๊ทธ๋ก๊ธฐ ์ํ๊ฐ ๋ ๊ฒฝ์ฐ ๋จ์ Duration๊ณผ ๊ด๊ณ ์์ด ํด์ ๋๋ค.
- FALSE - PC๊ฐ ๊ทธ๋ก๊ธฐ ์ํ๊ฐ ๋์ด๋ ์ ์ง๋๋ค.